package com.imooc.trading_system.service;

import com.imooc.trading_system.model.WalletDO;
import com.imooc.trading_system.utils.JsonData;
import com.imooc.trading_system.vo.wallet.TopUpReqVO;

import java.math.BigDecimal;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Feng zhaoxi
 * @since 2022-05-03
 */
public interface WalletService {

    /**
     * 获取钱包信息
     *
     * @return
     */
    JsonData getWalletInfo();

    /**
     * 充值
     *
     * @param topUpReqVO
     * @return
     */
    JsonData topUp(TopUpReqVO topUpReqVO);

    /**
     * 扣减余额
     *
     * @param deductions
     * @return
     */
    int deductions(BigDecimal deductions);

    /**
     * 获取余额
     *
     * @return
     */
    BigDecimal getWalletBalance();

    /**
     * 开启钱包
     *
     * @return
     */
    JsonData OpenWallet();

    /**
     * 关闭钱包
     *
     * @return
     */
    JsonData closeWallet();
}
